package cn.jetpiece.cloud.common.api.message.model.result;

import cn.jetpiece.cloud.model.annotation.Dict;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.io.Serializable;
import java.util.Date;

/**
 * 消息配置信息
 *
 * @author jetpiece
 * @since 2022-11-22
 */
@Data
@ApiModel
public class MessageConfigResult implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @Excel(name = "ID", width = 15)
    @JSONField(serializeUsing = ToStringSerializer.class)
    @ApiModelProperty(value = "ID")
    private Long id;

    /**
     * 租户编号
     */
    @Excel(name = "租户编号", width = 15)
    @JSONField(serializeUsing = ToStringSerializer.class)
    @ApiModelProperty(value = "租户编号")
    private Long tenantId;

    /**
     * 消息事件分类
     */
    @Excel(name = "消息事件分类", width = 15)
    @ApiModelProperty(value = "消息事件分类")
    @Dict(serverCode = "hcwl-property",dictCode = "MESSAGE_EVENT_CATEGORY")
    private String messageEventCategory;

    /**
     * 通知类型
     */
    @Excel(name = "通知类型", width = 15)
    @ApiModelProperty(value = "通知类型")
    private String notifyType;

    /**
     * 通知类型
     */
    @Excel(name = "通知类型", width = 15)
    @ApiModelProperty(value = "通知类型")
    private String notifyType_dictText;

    /**
     * 通知配置
     */
    @Excel(name = "通知配置", width = 15)
    @ApiModelProperty(value = "通知配置")
    private String notifyConfig;

    /**
     * 通知配置
     */
    @Excel(name = "通知配置", width = 15)
    @ApiModelProperty(value = "通知配置")
    private String notifyConfig_dictText;

    /**
     * 模板CODE
     */
    @Excel(name = "模板CODE", width = 15)
    @ApiModelProperty(value = "模板CODE")
    private String templateCode;

    /**
     * 模板CODE
     */
    @Excel(name = "模板CODE", width = 15)
    @ApiModelProperty(value = "模板CODE")
    private String templateCode_dictText;

    /**
     * 模板
     */
    @ApiModelProperty(value = "模板")
    private JSONObject template;

    /**
     * 创建日期
     */
    @ApiModelProperty(value = "创建日期")
    private Date createTime;

    /**
     * 创建人登录名称
     */
    @ApiModelProperty(value = "创建人登录名称")
    private String createBy;

    /**
     * 更新日期
     */
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;

    /**
     * 更新人登录名称
     */
    @ApiModelProperty(value = "更新人登录名称")
    private String updateBy;
}
